約 6,329,046 件
https://w.atwiki.jp/0x0b/pages/88.html
PERSISTENT CLIENT STATE HTTP COOKIES CGIスクリプトのようなサーバ側コネクションにより、クライアント側に情報を保存させ、そしてそれを受け取るのに使うことができる一般的な構造 単純で永続的なクライアント側の状態を加えることによって、ウェブベースのクライアント/サーバアプリケーションの能力が大きく広がります。 概要 サーバは、クライアントにHTTPオブジェクトを返す際、クライアントに保持してもらいたい状態情報を送ることができます。"状態オブジェクト"には、その状態が有効であるURLの範囲の記述が含まれています。その範囲に入るクライアントからの以後のHTTPリクエストは、クライアントからサーバに戻る状態オブジェクトの現在値の転送を含むでしょう。"状態オブジェクト"は、クッキーと呼ばれます。クッキーという名には、これといって大きな理由があるわけではありません) この簡易的なメカニズムは、ウェブベースの環境のためにパワフルな新ツールを提供します。それは、新しいタイプのアプリケーションのホストに実装されることを可能にします。ショッピングアプリケーションでは、その時点で選択されている商品に関する情報を溜めることができます。料金サービスでは、ユーザーの登録情報を送り返すことができ、ユーザーは次に接続するときには、ユーザーIDを再度打ち直す必要がありません。また、クライアントにユーザーごとの好みを溜めることができ、サイトに接続するたびごとに、ユーザーの好みを表示させることができます。 仕様 HTTPヘッダーの一部としてSet-Cookieヘッダーを含めることによって、クッキーをクライアントに設定することができます。主に、CGIスクリプトによって生成されることになるでしょう。 Set-Cookie HTTP 応答ヘッダーの文法 これは、CGIスクリプトが、クライアントに設定したい新しいデータを、HTTPヘッダーに加えるのに使うフォーマットです。この設定したデータを今後、サーバ側で読み取ります。 Set-Cookie NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure NAME=VALUE ここには、セミコロン、カンマ、スペースを排除した文字列が入ります。セミコロン、カンマ、スペースが含まれるようなデータを設定する必要がある場合には、URLエンコードのような何かしらのエンコードが推奨されます。ただし、エンコード自体は、まったく定義されているわけではありませんし、要求されるものではありません。(日本語を扱う場合には、URLエンコードをする必要があります。) Set-Cookieヘッダーには、この属性は必ず必要です。その他の属性は必須ではありません。 expires=DATE expires属性には、クッキーの有効期限を定義する日付の文字列を設定します。一度、有効期限に達すると、クッキーはクライアントに保存されません。もしくはクライアントからサーバに送信されません。 日付文字列のフォーマットは以下のとおりです。 Wdy, DD-Mon-YYYY HH MM SS GMT これは、RFC 822, RFC 850, RFC 1036, RFC 1123に基づいています。ただし、法定タイムゾーンは、GMTのみです。また日付の各要素間は、ダッシュ(「-(ハイフン)」のこと)で区切られなければいけません。 注意 Netscape Navigator version 1.1 以前ではバグがあります。クッキーに、path属性が明示的に"/"と設定されないと、セッション間で、expires属性が適切に保存されません。 domain=DAMAIN_NAME クッキーリストから有効なクッキーを探す際、リクエストするURLのホストのドメイン名を使って、クッキーのdomain属性の比較が行われます。もし、ドメインが後方一致した場合には、pathマッチングを行い、クッキーを送信すべきかを判別します。"後方一致"とは、domain属性が、ホストの完全修飾ドメイン名(Fully Qualified Domain Name)の尾部に対して一致したということです。たとえば、"acme.com"のdomain属性は、"anvil.acme.com"というホスト名に一致しますし、"shipping.crate.acme.com"も同様に一致します。 特定されたドメイン内のホストだけは、一つのドメインに対してクッキーを設定することができます。そして、ドメインは、".com", ".edu", "va.us"のような形式のドメインを除いて、ドメイン名の中に少なくとも2つか3つのピリオドを含んでいなければいけません。以下に示す7つの特別なトップレベルドメインに含まれないドメインのうち、いくつかは2つのピリオドが必要となり、それ以外のドメインは、少なくとも3つ必要です。7つの特別なトップレベルドメインは、次のとおりです。:"COM", "EDU", "NET", "ORG", "GOV", "MIL", "INT"(Cookieの仕様が作成された時代は、7つのドメインだけでしたが、現在は、汎用ドメインも使われるようになり、この限りではありません。) domainのデフォルト値は、クッキー応答を生成したサーバのホスト名です。 path=PATH path属性は、クッキーが有効なドメインのURLのサブセットを特定するのに使われます。クッキーがあるdomainにマッチすると、URLのパス名の要素がpath属性と比較されます。そして、一致したなら、クッキーは有効とみなされ、URLリクエストと一緒に送られます。"/foo"というパスは、"/foobar", "/foo/bar.html"に一致します。"/"というパスは、もっとも一般的なパスです。 もし、pathが特定されていない場合は、クッキーを含んでいるヘッダによって記述されているドキュメントと同じパスとみなされます。 secure もしクッキーがsecureとマークされていたなら、そのクッキーは、ホストとの通信チャネルが安全なチャネルの場合にのみ送られます。現在においては、secureクッキーは、HTTPS(HTTP over SSL)サーバのみに送られる場合を意味します。 もし、secure指定がない場合には、クッキーは安全とみなされ、安全でないチャネルを通して明文で送られます。 Cookie HTTP Request Headerの文法 ブラウザーは、HTTPサーバからURLを要求する際に、保持しているすべてのクッキーに対してそのURLを検索します。そして、もし一致したなら、すべての一致したクッキーの name/valueペアーを含む1行をHTTPリクエストに含めます。フォーマットは以下のとおりです。 Cookie NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ... 補足 一つのサーバ応答に対して、複数のSet-Cookieヘッダーを発行することができます。 同じパスと名前のインスタンスは、優先する最後のインスタンスにお互い上書きされます。パスが同じで名前が異なるインスタンスは、付加マッピングを追加します。 上位層にパスを設定すると、他の下位層のパスマッピングを上書きしません。もし与えられたクッキー名に対して複数一致しても、パスが異なれば、すべての一致したクッキーが送られます。(例を参照) expiresヘッダーによって、クライアントは、マッピングのパージ(浄化)がいつ安全になるのかを判別します。しかし、クライアントは、そうすることを要求されません。 もしクッキーの数が限界を超える場合においても、有効期限に達する前にクッキーを削除するかもしれません。 サーバにクッキーを贈る際に、下位層まで指定されたパスのクッキーは、その上位層までしか指定されていないパスのクッキーより先に送られなければいけません。たとえば、"name1=foo"で、パスが"/"のクッキーは、"name1=foo2"でパスが"/bar"のクッキーの後に送られるべきです。 クライアントが一度に溜めておくことができるクッキーの数には限界が存在します。これは、クライアントが受け取り保存するために用意されるべきクッキーの最小数の仕様です。 クッキーの数は、トータルでで300まで。 一つのクッキーにつき4KBまで。name と OPAQUE_STRING は、4KBまでの形式に結合されます。. サーバもしくはドメインごとに、クッキーの数は20まで。 (特定されたホストやドメインは、別々のエンティティーとして扱われ、各々(結合されたものではない)クッキーの数は20までということに注意してください。) サーバは、クライアントに、これらの限界を超えることがありうることを期待すべきではありません。300クッキー限度や20クッキー/サーバ限度を超えた場合、クライアントは、もっとも過去に使われたクッキーを削除すべきです。4KBを超えるクッキーに出くわした場合には、クッキーは、フィットするように切り取られるべきです。しかし、名前は、クッキーが4KB以下である限り、手を加えるべきではありません。 もし、CGIスクリプトからクライアントのクッキーを削除したい場合には、同じ名前で、過去の有効期限を持ったクッキーを返すことによって実現できます。パスと名前は、有効なクッキーを満了したクッキーに置き換えるために、正確にマッチしなければいけません。この仕様により、クッキーの発信元でなければ、クッキーを削除することが難しくなります。 proxyサーバがHTTPを受け取る場合、Set-cookie応答ヘッダーは、決して受け取るべきではありません。 もし、proxyサーバがSet-Cookieヘッダーを含んだ応答を受け取った場合には、たとえ、応答が304(Not Modified)か、200(OK)かどうかに関わらず、Set-Cookieヘッダーをクライアントに伝達すべきです。 同様に、もしクライアント要求がCookieヘッダーを含んでいる場合、クライアント要求は、proxyをスルーしてしまわなければいけません。たとえ、条件付のIf-modified-since 要求が作られたとしても。 例 クッキーの利用を説明するために、いくつかのやりとりの例を挙げます。 以下に掲載している例は、原文そのままですが、「有効期限」の西暦が下2桁となっています。しかし、実際には、4桁で定義する必要があります。たとえば、2001年であれば、「01」ではなく、「2001」とします。 例1 クライアントがサーバにドキュメントを要求し、サーバから以下のレスポンスを受け取る。 Set-Cookie CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-Nov-99 23 12 40 GMT 次に、クライアントがこのサーバ上のパス"/"のURLを要求するとき、クライアントは以下のCookie情報をサーバに送る。 Cookie CUSTOMER=WILE_E_COYOTE 再度、クライアントがサーバにドキュメントを要求し、サーバから以下のレスポンスを受け取る。 Set-Cookie PART_NUMBER=ROCKET_LAUNCHER_0001; path=/ 次に、クライアントがこのサーバ上のパス"/"のURLを要求するとき、クライアントは以下のCookie情報をサーバに送る。 Cookie CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001 次にクライアントが、サーバから以下のCookie情報を受け取ったとする。 Set-Cookie SHIPPING=FEDEX; path=/foo クライアントがこのサーバ上のパス"/"のURLを要求するとき、クライアントは以下のCookie情報をサーバに送る。 Cookie CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001 クライアントがこのサーバ上のパス"/foo"のURLを要求するとき、クライアントは以下のCookie情報をサーバに送る。 Cookie CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001; SHIPPING=FEDEX 例2 例1からのすべてのCookie情報のマッピングは、クリアされたと仮定します。 クライアントがサーバから以下のCookie情報を受け取ります。 Set-Cookie PART_NUMBER=ROCKET_LAUNCHER_0001; path=/ クライアントがこのサーバ上のパス"/"のURLを要求するとき、クライアントは以下のCookie情報をサーバに送る。 Cookie PART_NUMBER=ROCKET_LAUNCHER_0001 次に、クライアントがサーバから以下のCookie情報を受け取ったとする。 Set-Cookie PART_NUMBER=RIDING_ROCKET_0023; path=/ammo クライアントがこのサーバ上のパス"/ammo"のURLを要求するとき、クライアントは以下のCookie情報をサーバに送る。 Cookie PART_NUMBER=RIDING_ROCKET_0023; PART_NUMBER=ROCKET_LAUNCHER_0001 注意 "/ammo"マッピングに加えて"/"マッピングの継承によって、"PART_NUMBER"と名づけられた二つの name/value のペアーが存在します。
https://w.atwiki.jp/mosakabe/pages/53.html
イチから Centos6, Apache2, PHP5.3, Cake2.2, Oracle11g 環境を構築します。 今回は仮想環境(Xen)で構築します 仮想CPU数は2, メモリ2GB で仮想環境を構築します centosは最小構成でインストールします あえて無理してCUIのみで作業します Cakeとoracleはあまり相性がよくありませんが、とある事情により***** むしろCUI Oracle11gインストール作業が中心になってしまっています http //ftp.riken.go.jp/Linux/centos/6.3/os/x86_64/ サーバ構築 swapのサイズを変更します。 $ sudo dd if=/dev/zero of=/swapfile bs=1024K count=4096 $ sudo mkswap /swapfile $ sudo swapon /swapfile 確認します $ swapon -s OS起動時に自動でスワップが追加されるよう/etc/fstabに設定をします。 $ sudo vi /etc/fstab 最後の行に以下を追加します /swapfile swap swap defaults 0 0 参考 http //piro791.blog.so-net.ne.jp/2009-03-05 http //tipspc.blogspot.jp/2008/09/linux.html SELinuxの状態を確認します $ getenforce Enforcing 有効となっているので無効にします $ sudo setenforce 0 $ getenforce Permissive 起動時にSELinuxを無効にします $ sudo vi /etc/sysconfig/selinux SELINUX=enforcing ↓ SELINUX=disabled yumをupdateし、setup系コマンドをインストールします $ sudo yum clean all $ sudo yum update $ sudo yum install setuptool ntsysv system-config-network-tui system-config-firewall-tui setupコマンドを実行し、ファイアウォール設定などを行います $ setup 各ツールをインストールします $ sudo yum install vim wget bind-utils unzip ntp scp 全く関係ないけどftpサーバをインストールします(もちろんしなくていいです) $ sudo yum -y install ftp vsftpd Apache, PHP のインストール Apache, PHP をインストールします $ sudo yum install httpd php php-devel php-process php-ldap php-mbstring php-mysql php-odbc php-pdo php-pear php-xml 自動起動の設定をします $ chkconfig --list $ sudo chkconfig vsftpd on $ sudo chkconfig httpd on PHPの設定をします $ sudo vim /etc/php.ini 参考 http //kajuhome.com/apache.shtml http //www.aconus.com/~oyaji/centos/apache_php_centos.htm Oracle11g CUI インストール Oracle CUI サイレントインストールに必要なパッケージを事前にインストールします $ sudo yum install make gcc libaio glibc-devel glibc-headers glibc.i686 gcc-c++ libaio-devel compat-libstdc++-33 elfutils-libelf-devel sysstat unixODBC-devel カーネルパラメータを変更します $ sudo vim /etc/sysctl.conf 以下の値を追記します kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 値を反映します $ sudo sysctl -p ユーザとグループを追加します $ sudo groupadd oinstall $ sudo groupadd dba $ sudo useradd -g oinstall -G dba oracle $ sudo passwd oracle /etc/security/limits.conf を修正します $ sudo vim /etc/security/limits.conf 以下の値を追加します oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 /etc/pam.d/login を修正します $ sudo vim /etc/pam.d/login 以下の値を追加します session required /lib/security/pam_limits.so session required pam_limits.so /etc/profile を修正します $ sudo vim /etc/profile 以下の値を追加します if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi ORACLE_BASEディレクトリを作成します $ sudo mkdir -p /opt/oracle/app $ sudo chown -R oracle oinstall /opt/oracle $ sudo chmod -R 775 /opt/oracle/app データディレクトリ・リカバリディレクトリを作成します $ sudo mkdir /opt/oracle/oradata $ sudo chown oracle oinstall /opt/oracle/oradata $ sudo chmod 775 /opt/oracle/oradata /etc/oraInst.locを作成します $ sudo vim /etc/oraInst.loc 以下の2行を記載します inventory_loc=/opt/oracle/oraInventory inst_group=oinstall $ sudo chown oracle oinstall /etc/oraInst.loc $ sudo chmod 644 /etc/oraInst.loc Oracleユーザに変更します $ sudo su - oracle oracleユーザーの環境設定を設定します $ vim ~/.bash_profile 末尾に以下を追加します。 umask 022 export ORACLE_BASE=/opt/oracle/app 現在のターミナルでもこの設定を有効にします。 $ . ~/.bash_profile インストールディレクトリの作成 $ mkdir /opt/oracle/src $ cd /opt/oracle/src 以下の場所からOracle11g をダウンロードします http //www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 以下のディレクトリに配置します /opt/oracle/src 解凍します "database"というディレクトリに展開されます。 $ unzip linux.x64_11gR2_database_1of2.zip $ unzip linux.x64_11gR2_database_2of2.zip "/opt/oracle/src/database/response/db_install.rsp"を編集します。 $ vim /opt/oracle/src/database/response/db_install.rsp oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=localhost.localdomain UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/oracle/oraInventory SELECTED_LANGUAGES=ja,en ORACLE_HOME=/opt/oracle/product/11.2 ORACLE_BASE=/opt/oracle oracle.install.db.InstallEdition=SE oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=dba SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true Oracleをインストールします $ export ORACLE_BASE=/opt/oracle $ export ORACLE_HOME=/opt/oracle/product/11.2 $ cd /opt/oracle/src/database $ ./runInstaller -silent -responseFile /opt/oracle/src/database/response/db_install.rsp エラーがでたら内容を確認します $ grep Error /opt/oracle/oraInventory/logs/installActions*.log 以下の表示がでたらインストールは完了です。 $ 次の構成スクリプトは、rootユーザーとして実行する必要があります。 #!/bin/sh #実行するrootスクリプト /opt/oracle/product/11.2/root.sh 構成スクリプトを実行するには、次のようにします 1. ターミナル・ウィンドウを開きます 2. rootとしてログインします 3. スクリプトを実行します 4. このウィンドウに戻り、[Enter]キーを押して続行します root権限で以下のコマンドを実行します # /opt/oracle/product/11.2/root.sh 参考 http //www.asami.asia/tech/oracle/11g-install.html http //blog.suz-lab.com/2011/04/ec2oracle.html /opt/oracle/src/database/response/dbca.rsp を編集します $ vim /opt/oracle/src/database/response/dbca.rsp GDBNAME = "cake.oracle.totto.local" SID = "cake" SYSPASSWORD = "xxxxx" SYSTEMPASSWORD = "xxxxx" CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8" データベースを作成します $ sudo su - oracle $ /opt/oracle/product/11.2/bin/dbca -silent -responseFile /opt/oracle/src/database/response/dbca.rsp 起動したプロセスを確認します $ ps -aux | grep oracle 接続確認します $ export ORACLE_HOME=/opt/oracle/product/11.2 $ export ORACLE_SID=suzlab $ /opt/oracle/product/11.2/bin/sqlplus /nolog 以下の表示がでればOKです SQL*Plus Release 11.2.0.1.0 Production on Sun Sep 23 13 19 29 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL リスナーを作成します パラメータ /opt/oracle/src/database/response/netca.rsp をしようしますが、今回は特に調整なしです $ /opt/oracle/product/11.2/bin/netca /silent /responsefile /opt/oracle/src/database/response/netca.rsp リスナーのプロセスを確認します $ ps -aux | grep tnslsnr リスナーのLISTENポートを確認します $ netstat -lanput | grep tnslsnr tnspingでリスナーを確認します $ /opt/oracle/product/11.2/bin/tnsping localhost 以下のように表示されればOKです TNS Ping Utility for Linux Version 11.2.0.1.0 - Production on 23-SEP-2012 13 50 14 Copyright (c) 1997, 2009, Oracle. All rights reserved. Used parameter files /opt/oracle/product/11.2/network/admin/sqlnet.ora Used EZCONNECT adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))) OK (0 msec) /opt/oracle/product/11.2/network/admin/tnsnames.ora を作成します $ vim /opt/oracle/product/11.2/network/admin/tnsnames.ora CAKE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cake.oracle.totto.local) (INSTANCE_NAME = cake) ) ) 接続します $ /opt/oracle/product/11.2/bin/sqlplus sys/xxxxx@CAKE as sysdba 参考 http //blog.suz-lab.com/2011/04/oraclecuidb.html http //blog.suz-lab.com/2011/04/oraclecui.html /etc/profile に追加 $ sudo vim /etc/profile export ORACLE_HOME=/opt/oracle/product/11.2 export NLS_LANG=Japanese_Japan.AL32UTF8 /etc/sysconfig/httpd に追加 $ sudo vim /etc/sysconfig/httpd export ORACLE_HOME=/opt/oracle/product/11.2 export NLS_LANG=Japanese_Japan.AL32UTF8 php_oci8 のインストール sudo pecl install oci8 ORACLE_HOME を聞かれるので答えます /opt/oracle/product/11.2 oci8.ini の設定 $ sudo vi /etc/php.d/oci8.ini extension=oci8.so /opt/oracle/product/11.2/sqlplus/admin/glogin.sql 編集 $ sudo vim /opt/oracle/product/11.2/sqlplus/admin/glogin.sql SET LINESIZE 9999; SET PAGESIZE 9999; COLUMN TIMESTAMP FORMAT a30; システムユーザでログイン $ /opt/oracle/product/11.2/bin/sqlplus sys/xxxxx@CAKE as sysdba 表領域と容量の確認 SQL SELECT tablespace_name, SUM(bytes)/1024/1024 "size(MB)" FROM dba_data_files GROUP BY tablespace_name; 表領域と空き容量の確認 SQL SELECT tablespace_name, SUM(bytes)/1024/1024 "free space(MB)" FROM dba_free_space GROUP BY tablespace_name; 表領域の作成 SQL CREATE TABLESPACE cake_ts DATAFILE '/opt/oracle/oradata/cake_ts.dbf' SIZE 1024M AUTOEXTEND OFF; 一時表領域の作成 SQL CREATE TEMPORARY TABLESPACE cake_tts TEMPFILE '/opt/oracle/oradata/cake_tts.dbf' SIZE 64M AUTOEXTEND OFF; ユーザ作成 SQL CREATE USER cake_user IDENTIFIED BY xxxxx DEFAULT TABLESPACE cake_ts TEMPORARY TABLESPACE cake_tts QUOTA UNLIMITED ON cake_ts; 権限の追加 SQL GRANT CONNECT, RESOURCE TO cake_user; 作成したユーザでログイン $ /opt/oracle/product/11.2/bin/sqlplus cake_user/xxxxx@CAKE シーケンスオブジェクトの作成 SQL CREATE SEQUENCE test_table_id_sequence; テーブルの作成 SQL CREATE TABLE test_tables( test_table_id NUMBER(4), name varchar2(32), timestamp TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL, PRIMARY KEY( test_table_id ) ); 擬似AUTO_INCREMENT CREATE OR REPLACE TRIGGER test_table_id_sequence_trigger BEFORE INSERT ON test_tables FOR EACH ROW BEGIN SELECT test_table_id_sequence.NEXTVAL INTO NEW.test_table_id FROM DUAL; END; / レコードのINSERT SQL INSERT INTO test_tables ( name ) VALUES ( test_seq.nextval, 'テストデータ1' ); SQL INSERT INTO test_tables ( name ) VALUES ( test_seq.nextval, 'テストデータ2' ); SQL INSERT INTO test_tables ( name ) VALUES ( test_seq.nextval, 'テストデータ3' ); レコードのSELECt SQL SELECT * FROM test_tables; 自動起動停止 http //sugimura.cc/?%E6%8A%80%E8%A1%93%E6%96%87%E6%9B%B8%2FOracle%2F11g%2F%E8%B5%B7%E5%8B%95%E3%81%A8%E7%B5%82%E4%BA%86 Cakeのインストール Cake を以下のサイトよりダウンロードします http //cakephp.jp/ $ wget http //github.com/cakephp/cakephp/zipball/2.2.2 $ mv 2.2.2 cakephp-cakephp-2.2.2-0-gf155687.zip $ unzip cakephp-cakephp-2.2.2-0-gf155687.zip DocumentRootに移動します $ sudo mv cakephp-cakephp-ac41b42 /var/www/html/cake いい加減ですが、オーナー、パーミッションを変更します $ cd /var/www/ $ sudo chown -R apache wheel html $ sudo chmod -R 775 html $ sudo chmod 755 /var/log/httpd Apacheの設定を変更します $ sudo vim /etc/httpd/conf/httpd.conf /Directory Options FollowSymLinks AllowOverride None Directory / の部分を Directory / Options All AllowOverride All /Directory Cake の Config/core.php の設定を変更します $ sudo vim /var/www/html/cake/app/Config/core.php タイムゾーンのコメントアウトを外します date_default_timezone_set('UTC'); Security.salt と Security.cipherSeed の値を任意に変更します database.php.default をベースにしてdatabase.phpを作成します $ sudo cp /var/www/html/cake/app/config/database.php.default /var/www/html/cake/app/config/database.php var $default = array( 'driver' = 'oracle', 'persistent' = false, 'host' = 'localhost', 'login' = 'cake_user', 'password' = 'xxxxxx', 'database' = 'CAKE', 'prefix' = '', 'charset' = 'AL32UTF8', ); Apacheを起動します $ sudo /etc/init.d/httpd start それぞれのドメインでCakeを確認します http //cake.totto.local/cake/
https://w.atwiki.jp/brewwiki/pages/230.html
PHP Hypertext Preprocessor http //www.php.net/ http //jp2.php.net/ (日本のミラーサイト) 日本PHPユーザー会 (Japan PHP User Group) http //www.php.gr.jp/
https://w.atwiki.jp/akainfo/pages/11.html
このページはhttp //www.akaenglish.comからの引用です A.K.A イングリッシュグループ 東松山スクール 〒355-0028 埼玉県東松山市箭弓町2-2-11 Tel&Fax 0493-25-2417 1 東松山駅西口より徒歩30秒の英会話スクールです。お気軽にお立ち寄りください >>> 地図 経験豊富なネイティブ講師陣による楽しいレッスン 分かりやすいレッスンで評判のネイティブ講師がキッズから一般まで充実したレッスンを提供しています。クラスルームでは笑い声がいつもたえません。 リーズナブルな月謝制 当スクールではいつでも安心して始められる月謝制としています。しかも1ヶ月¥6,300~(デイクラス・グループ)と大変リーズナブルな料金設定です。 コーヒー&紅茶を飲みながらのリラックスレッスン みなさんにリラックスしながらレッスンを受けていただけるようおいしいコーヒーや紅茶をお出ししています。 東松山駅西口より30秒の通いやすい立地 東武東上線の東松山駅西口より徒歩30秒。お仕事帰りやお買物ついでに気軽にレッスンに参加いただけます。 (2008/2/28)東松山ケーブルテレビの取材がありました!
https://w.atwiki.jp/wing2/pages/90.html
HN:スタ(まれにツバサ) 誕生日:5月8日 年齢:13 HNの由来:星かららしいです。 ドット暦:約11ヶ月って所でしょうか。 ゲーム暦:7年ですね ネット暦:こちらも約11ヶ月です。 好きなアニメ:星のカービィ、ポケモン、.hack/ 好きなゲーム: 星のカービィ、ポケモン、伝説のスタフィー、ロックマンエグゼ 牧場物語、TOS、他多数... 好きキャラ:カービィ、アド、リボン、デデデ、フライゴン、レックウザ、チルタリス、イエロー、リラ、スタフィー、その他黒キャラ(爆 カップルリング:リラXサト、イエXレッド、カビXアド、カビXリボ、メタXアドが主です。
https://w.atwiki.jp/anzueshi/pages/91.html
 
https://w.atwiki.jp/motokurosu/pages/28.html
名前:阿部公亮(あべこうすけ) 生年月日:1993年1月12日 所属クラブ:花巻レーシング 身長:171cm 63kg 趣味 バスケ、ZONEの鑑賞 今シーズンの抱負:今年は優勝、優勝とこだわらずに自分の走りを心がけたいと思います!!全力で戦うので応援よろしくお願いします!! モトクロスを始めたのがだいたい5歳。父の「乗り物好き」の影響でモトクロスに出会いました。なんだかんだいって、かれこれ10年近くモトクロスと一緒です^^10年乗り続けていても、飽きることを知らず一生ハマるスポーツになるだろうと思います。もちろん乗るだけでは楽しくないのでレース活動を続けています。いつもの練習の成果が問われるレースと、毎年向き合って頑張っています。
https://w.atwiki.jp/sizlir/pages/16.html
自己紹介 ギルドマスター ☆シズリア☆ キャラ 猫 ステ振り 4114攻極 Lv/Tm 90/80 4月18日現在 メインキャラ †シズリア† キャラ 獅子 ステ振り 4141命中極 Lv/Tm 160/162 神風心中特化獅子 見かけたら声かけてくださいな。
https://w.atwiki.jp/wiki4_exb/pages/3.html
かほり
https://w.atwiki.jp/toshy/pages/5.html